package edu.unmsm.ocaa.sisocaa.integracion.dao.impl;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
import org.springframework.stereotype.Repository;

import com.ibatis.sqlmap.client.SqlMapClient;

import edu.unmsm.ocaa.sisocaa.integracion.dao.ComentarioOpcDAO;
import edu.unmsm.ocaa.sisocaa.negocio.model.dto.ComentarioOpcDTO;

@Repository
public class ComentarioOpcDAOImpl extends SqlMapClientDaoSupport implements ComentarioOpcDAO {

	@Autowired
	public ComentarioOpcDAOImpl(SqlMapClient sql) {
		super.setSqlMapClient(sql);
		// TODO Auto-generated constructor stub
	}

	@Override
	public void deleteComentarioOpc(ComentarioOpcDTO com)
			throws DataAccessException {
		// TODO Auto-generated method stub
		getSqlMapClientTemplate().delete("deleteComentarioOpc", com);
	}

	@Override
	public List<ComentarioOpcDTO> getComentariosOpc(Integer idFicha,
			Integer idPregficha, Integer idOpcpregficha)
			throws DataAccessException {
		// TODO Auto-generated method stub
		Map map=new HashMap();
		map.put("id_ficha", idFicha);
		map.put("id_pregficha", idPregficha);
		map.put("id_opcpregficha", idOpcpregficha);
		return (List<ComentarioOpcDTO>)getSqlMapClientTemplate().queryForList("getComentariosOpc", map);
	}

	@Override
	public void insertComentarioOpc(ComentarioOpcDTO com)
			throws DataAccessException {
		// TODO Auto-generated method stub
		try {
			getSqlMapClientTemplate().insert("insertComentarioOpc", com);	
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
		
	}

	@Override
	public void updateComentarioOpc(ComentarioOpcDTO com)
			throws DataAccessException {
		// TODO Auto-generated method stub
		getSqlMapClientTemplate().update("updateComentarioOpc", com);
	}

	@Override
	public void deleteComentariosOpc(ComentarioOpcDTO com)
			throws DataAccessException {
		// TODO Auto-generated method stub
		try {
			getSqlMapClientTemplate().delete("deleteComentariosOpc", com);	
		} catch (Exception e) {
			// TODO: handle exception|
			e.printStackTrace();
		}
	}

}
